from core.basic.skill import 技能
from core.basic.character import Character
from core.basic.skill import 主动技能, 被动技能


# class 技能0(被动技能):
# 名称 = '基础精通'
# 所在等级 = 1
# 等级上限 = 200
# 基础等级 = 100
# 关联技能 = ['普通攻击']

# def 加成倍率(self, 武器类型):
#     if self.等级 == 0:
#         return 1.0
#     else:
#         return round(0.463 + 0.089 * self.等级, 5)


# class 技能1(主动技能):
# 名称 = '普通攻击'
# 所在等级 = 1
# 等级上限 = 1
# 基础等级 = 1
# #3击 243.3735+307.4934*2
# data0 = [(i) for i in [0, 858.3604]]
# hit0 = 1
# CD = 1
# TP成长 = 0.10
# TP上限 = 5


class 技能0(主动技能):
    名称 = "背摔"
    所在等级 = 5
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 5
    MP = [20, 168]
    无色消耗 = 0
    data0 = [0, 2800, 3091, 3373, 3651, 3935, 4224, 4507, 4787, 5073, 5359, 5641, 5922, 6208, 6493, 6783, 7066, 7346, 7629, 7916, 8203, 8480, 8769, 9052, 9340, 9620, 9905, 10188, 10477, 10761, 11038, 11327, 11610, 11895, 12174, 12463, 12747, 13036, 13312, 13597, 13882, 14169, 14447, 14733, 15021, 15305, 15593, 15871, 16156, 16438, 16728, 17008, 17288, 17579, 17863, 18139, 18424, 18713, 18997, 19287, 19566, 19848, 20132, 20420, 20702, 20983, 21273, 21557, 21836, 22125, 22407]
    hit0 = 1
    TP成长 = 0.1
    TP上限 = 7


class 技能1(主动技能):
    名称 = "抛投"
    所在等级 = 15
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 8.5
    MP = [30, 336]
    无色消耗 = 0
    data0 = [0, 6334, 6981, 7621, 8263, 8906, 9551, 10193, 10838, 11476, 12123, 12764, 13409, 14050, 14692, 15337, 15977, 16622, 17264, 17907, 18551, 19193, 19836, 20479, 21122, 21764, 22406, 23051, 23691, 24336, 24977, 25622, 26264, 26906, 27553, 28192, 28833, 29479, 30121, 30764, 31407, 32047, 32694, 33334, 33980, 34622, 35267, 35908, 36550, 37194, 37835, 38479, 39123, 39763, 40408, 41050, 41695, 42337, 42978, 43622, 44264, 44908, 45549, 46192, 46836, 47480, 48121, 48765, 49408, 50051, 50691]
    hit0 = 1
    TP成长 = 0.1
    TP上限 = 7


class 技能2(被动技能):
    名称 = '摔技强化'
    所在等级 = 15
    等级上限 = 20
    基础等级 = 10

    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            if self.等级 <= 10:
                return round(1 + 0.01 * self.等级, 5)
            else:
                return round(1.1 + 0.02 * (self.等级 - 10), 5)


class 技能3(主动技能):
    名称 = "折颈"
    所在等级 = 20
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 7.7
    MP = [30, 336]
    无色消耗 = 0
    data0 = [0, 6699, 7376, 8059, 8737, 9413, 10096, 10773, 11454, 12134, 12814, 13492, 14174, 14852, 15534, 16212, 16892, 17574, 18249, 18929, 19609, 20289, 20970, 21649, 22328, 23011, 23687, 24368, 25047, 25728, 26406, 27086, 27763, 28442, 29124, 29803, 30481, 31164, 31842, 32524, 33201, 33882, 34562, 35242, 35920, 36598, 37279, 37956, 38639, 39317, 39998, 40678, 41357, 42038, 42718, 43394, 44077, 44755, 45433, 46115, 46793, 47474, 48152, 48831, 49513, 50191, 50871, 51553, 52231, 52909, 53593]
    hit0 = 1
    TP成长 = 0.1
    TP上限 = 7


class 技能4(被动技能):
    名称 = '强力抱摔'
    所在等级 = 20
    等级上限 = 11
    基础等级 = 1
    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.18 + 0.02 * self.等级, 5)


class 技能5(主动技能):
    名称 = "野蛮冲撞"
    所在等级 = 25
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 8
    MP = [50, 420]
    无色消耗 = 0
    data0 = [0, 8251, 9089, 9926, 10764, 11602, 12438, 13274, 14112, 14950, 15787, 16625, 17462, 18297, 19135, 19972, 20810, 21646, 22483, 23320, 24157, 24994, 25832, 26670, 27505, 28344, 29179, 30017, 30854, 31693, 32528, 33365, 34203, 35040, 35877, 36713, 37551, 38387, 39229, 40066, 40903, 41741, 42578, 43413, 44251, 45088, 45926, 46761, 47600, 48436, 49273, 50110, 50948, 51785, 52620, 53460, 54294, 55131, 55971, 56806, 57643, 58480, 59319, 60154, 60991, 61828, 62666, 63502, 64342, 65178, 66014]
    hit0 = 1
    TP成长 = 0.1
    TP上限 = 7


class 技能6(主动技能):
    名称 = "霹雳肘击"
    所在等级 = 30
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 12
    MP = [50, 420]
    无色消耗 = 0
    data0 = [0, 10713, 11802, 12885, 13975, 15059, 16150, 17235, 18323, 19407, 20496, 21583, 22669, 23756, 24843, 25932, 27019, 28105, 29192, 30279, 31364, 32454, 33539, 34627, 35713, 36799, 37887, 38975, 40061, 41147, 42234, 43322, 44407, 45496, 46580, 47670, 48756, 49844, 50929, 52016, 53104, 54191, 55279, 56364, 57453, 58537, 59628, 60714, 61801, 62887, 63971, 65061, 66148, 67234, 68322, 69407, 70498, 71581, 72670, 73755, 74844, 75929, 77017, 78106, 79189, 80278, 81364, 82454, 83539, 84628, 85711]
    hit0 = 1
    TP成长 = 0.1
    TP上限 = 7


class 技能7(主动技能):
    名称 = "空绞锤"
    所在等级 = 30
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 7
    MP = [50, 420]
    无色消耗 = 0
    data0 = [0, 7784, 8577, 9375, 10196, 11000, 11798, 12600, 13411, 14220, 15022, 15816, 16629, 17428, 18238, 19040, 19848, 20647, 21460, 22259, 23075, 23865, 24666, 25478, 26288, 27097, 27895, 28693, 29510, 30313, 31105, 31906, 32714, 33534, 34333, 35133, 35931, 36745, 37560, 38349, 39150, 39960, 40761, 41572, 42371, 43184, 43983, 44796, 45590, 46399, 47202, 48007, 48809, 49618, 50422, 51229, 52035, 52829, 53639, 54444, 55243, 56057, 56855, 57668, 58468, 59275, 60070, 60883, 61683, 62497, 63295]
    hit0 = 1
    TP成长 = 0.1
    TP上限 = 7


class 技能8(主动技能):
    名称 = "霹雳冲击"
    所在等级 = 35
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 20
    MP = [150, 1260]
    无色消耗 = 1
    data0 = [0, 5684, 6261, 6839, 7414, 7993, 8567, 9145, 9720, 10299, 10873, 11452, 12029, 12606, 13179, 13759, 14333, 14913, 15484, 16065, 16641, 17219, 17796, 18372, 18946, 19525, 20102, 20676, 21253, 21831, 22407, 22988, 23560, 24138, 24714, 25293, 25866, 26445, 27022, 27600, 28174, 28751, 29326, 29905, 30480, 31059, 31635, 32213, 32789, 33366, 33940, 34518, 35096, 35675, 36248, 36826, 37401, 37980, 38556, 39132, 39708, 40286, 40863, 41439, 42018, 42592, 43171, 43746, 44322, 44899, 45477]
    hit0 = 1
    data1 = [0, 12959, 14275, 15592, 16906, 18219, 19533, 20850, 22165, 23480, 24795, 26110, 27425, 28740, 30055, 31368, 32685, 33999, 35315, 36632, 37948, 39261, 40575, 41886, 43202, 44518, 45834, 47148, 48464, 49780, 51095, 52409, 53727, 55039, 56352, 57667, 58985, 60299, 61614, 62928, 64242, 65562, 66873, 68187, 69504, 70819, 72132, 73448, 74763, 76080, 77394, 78707, 80022, 81340, 82654, 83970, 85286, 86596, 87911, 89226, 90540, 91858, 93172, 94486, 95803, 97119, 98433, 99749, 101059, 102375, 103694]
    hit1 = 1
    TP成长 = 0.1
    TP上限 = 5


class 技能9(主动技能):
    名称 = "螺旋彗星落"
    所在等级 = 35
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 20
    MP = [150, 1260]
    无色消耗 = 1
    data0 = [0, 19504, 21484, 23462, 25442, 27419, 29401, 31378, 33358, 35337, 37315, 39296, 41273, 43252, 45233, 47212, 49190, 51170, 53149, 55126, 57106, 59086, 61062, 63043, 65019, 67000, 68979, 70958, 72935, 74916, 76895, 78876, 80852, 82832, 84814, 86789, 88768, 90747, 92725, 94705, 96684, 98663, 100642, 102622, 104601, 106579, 108555, 110535, 112513, 114493, 116473, 118449, 120430, 122411, 124390, 126368, 128348, 130321, 132302, 134282, 136261, 138239, 140220, 142199, 144181, 146158, 148138, 150116, 152094, 154074, 156050]
    hit0 = 1
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1

    def 装备护石(self, char):
        self.倍率 *= 1.29
        self.CDR *= 0.88


class 技能10(主动技能):
    名称 = "地狱摇篮"
    所在等级 = 40
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 30
    MP = [220, 1988]
    无色消耗 = 1
    data0 = [0, 30238, 33305, 36376, 39439, 42512, 45573, 48645, 51714, 54780, 57848, 60913, 63981, 67052, 70117, 73186, 76253, 79322, 82390, 85456, 88526, 91592, 94659, 97728, 100792, 103863, 106935, 109997, 113069, 116137, 119204, 122272, 125337, 128405, 131473, 134542, 137612, 140677, 143745, 146810, 149879, 152948, 156016, 159084, 162153, 165217, 168288, 171354, 174423, 177488, 180557, 183625, 186692, 189761, 192828, 195894, 198964, 202032, 205097, 208167, 211234, 214302, 217370, 220438, 223506, 226572, 229641, 232707, 235775, 238844, 241909]
    hit0 = 1
    data1 = [0, 4196, 4621, 5050, 5476, 5902, 6325, 6751, 7177, 7604, 8029, 8455, 8878, 9304, 9730, 10157, 10585, 11009, 11435, 11858, 12285, 12709, 13139, 13566, 13990, 14417, 14840, 15267, 15693, 16121, 16545, 16971, 17397, 17822, 18249, 18674, 19099, 19524, 19948, 20374, 20804, 21229, 21654, 22078, 22505, 22930, 23360, 23785, 24210, 24636, 25061, 25487, 25912, 26339, 26763, 27191, 27613, 28041, 28465, 28893, 29319, 29744, 30169, 30594, 31021, 31450, 31874, 32301, 32724, 33150, 33575]
    hit1 = 0
    data2 = [0, 9252, 10192, 11130, 12066, 13008, 13947, 14883, 15824, 16762, 17699, 18639, 19578, 20517, 21455, 22394, 23336, 24269, 25211, 26150, 27092, 28028, 28962, 29905, 30844, 31781, 32722, 33658, 34598, 35536, 36475, 37415, 38351, 39290, 40230, 41171, 42108, 43046, 43985, 44920, 45864, 46802, 47740, 48678, 49618, 50559, 51495, 52433, 53373, 54312, 55252, 56189, 57126, 58066, 59005, 59945, 60882, 61821, 62758, 63698, 64640, 65580, 66513, 67453, 68394, 69331, 70271, 71209, 72146, 73087, 74025]
    hit2 = 0
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1

    形态 = ["非抓", "抓取"]

    def 形态变更(self, 形态, char: Character):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "非抓":
            self.hit0 = 1
            self.hit1 = 0
            self.hit2 = 0
            if '地狱摇篮' in char.护石栏:
                self.power0 = 1.32
        if 形态 == "抓取":
            self.hit0 = 0
            self.hit1 = 5
            self.hit2 = 1
            if '地狱摇篮' in char.护石栏:
                self.hit1 = 10
                self.power1 = 0.6
                self.power2 = 1.59

    def 装备护石(self, char):
        self.power0 = 1.32
        self.CDR *= 0.9


class 技能11(主动技能):
    名称 = "裂石破天"
    所在等级 = 45
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 45
    MP = [360, 3024]
    无色消耗 = 2
    data0 = [0, 21703, 23904, 26111, 28309, 30515, 32714, 34912, 37118, 39321, 41519, 43726, 45926, 48125, 50329, 52527, 54732, 56939, 59139, 61344, 63541, 65741, 67944, 70150, 72350, 74553, 76753, 78952, 81158, 83358, 85562, 87765, 89966, 92166, 94369, 96572, 98771, 100975, 103178, 105380, 107580, 109779, 111984, 114188, 116392, 118593, 120793, 122989, 125194, 127398, 129604, 131804, 134001, 136208, 138408, 140613, 142812, 145013, 147219, 149420, 151619, 153824, 156025, 158224, 160429, 162629, 164832, 167034, 169234, 171436, 173642]
    hit0 = 1
    data1 = [0, 5592, 6155, 6723, 7291, 7859, 8424, 8993, 9557, 10129, 10693, 11258, 11826, 12397, 12962, 13530, 14098, 14662, 15233, 15797, 16370, 16933, 17501, 18068, 18635, 19199, 19770, 20334, 20908, 21469, 22037, 22603, 23171, 23736, 24308, 24873, 25447, 26008, 26576, 27143, 27712, 28273, 28846, 29411, 29977, 30545, 31112, 31679, 32249, 32813, 33383, 33947, 34515, 35083, 35648, 36217, 36785, 37351, 37921, 38483, 39052, 39619, 40187, 40752, 41323, 41889, 42456, 43019, 43587, 44157, 44724]
    hit1 = 0
    data2 = [0, 1860, 2050, 2239, 2428, 2614, 2805, 2994, 3182, 3369, 3562, 3747, 3935, 4126, 4314, 4502, 4691, 4880, 5068, 5257, 5447, 5632, 5827, 6014, 6205, 6391, 6581, 6769, 6960, 7146, 7336, 7523, 7713, 7901, 8093, 8278, 8468, 8654, 8846, 9034, 9225, 9413, 9601, 9790, 9981, 10166, 10353, 10546, 10732, 10921, 11111, 11302, 11487, 11678, 11865, 12052, 12243, 12432, 12622, 12812, 13000, 13191, 13376, 13566, 13754, 13945, 14131, 14321, 14509, 14697, 14887]
    hit2 = 0
    data3 = [0, 7406, 8156, 8910, 9660, 10411, 11161, 11916, 12668, 13418, 14168, 14919, 15670, 16422, 17174, 17926, 18674, 19424, 20177, 20931, 21682, 22433, 23187, 23938, 24688, 25438, 26192, 26944, 27694, 28442, 29198, 29945, 30698, 31448, 32202, 32948, 33705, 34455, 35209, 35956, 36709, 37461, 38211, 38962, 39718, 40469, 41218, 41972, 42722, 43475, 44223, 44974, 45724, 46476, 47229, 47982, 48732, 49482, 50233, 50988, 51740, 52489, 53239, 53992, 54744, 55495, 56247, 56999, 57747, 58496, 59253]
    hit3 = 0
    data4 = [0, 19975, 22003, 24028, 26057, 28082, 30106, 32136, 34158, 36185, 38215, 40240, 42266, 44296, 46322, 48345, 50375, 52395, 54421, 56452, 58479, 60507, 62531, 64555, 66587, 68613, 70638, 72665, 74690, 76717, 78746, 80769, 82797, 84825, 86850, 88876, 90904, 92930, 94956, 96982, 99006, 101035, 103061, 105087, 107114, 109139, 111164, 113197, 115221, 117247, 119275, 121299, 123328, 125357, 127378, 129405, 131435, 133462, 135485, 137514, 139539, 141567, 143592, 145618, 147646, 149672, 151696, 153724, 155750, 157776, 159806]
    hit4 = 0
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1

    # 摔技强化固定65%加成，别的技能已经直接加成在了面板上；仅裂石破天和死亡摇篮的非抓下需要额外65%加成
    power0 = 1.65

    形态 = ["应变", "抓取", "非抓"]

    def 形态变更(self, 形态, char: Character):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "应变":
            self.hit0 = 1
            self.hit1 = 0
            self.hit2 = 0
            self.hit3 = 0
            self.hit4 = 0
        if 形态 == "抓取":
            self.hit0 = 0
            self.hit1 = 1
            self.hit2 = 0
            self.hit3 = 1
            self.hit4 = 1
        if 形态 == "非抓":
            self.hit0 = 0
            self.hit1 = 1
            self.hit2 = 3
            self.hit3 = 1
            self.hit4 = 1
            if '裂石破天' in char.护石栏:
                self.hit2 += 2

    def 装备护石(self, char):
        self.power0 *= 1.31
        self.power3 = 1.28
        self.power4 = 1.28
        pass


class 技能12(被动技能):
    名称 = '抓取奥义'
    所在等级 = 48
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40

    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.09 + 0.015 * self.等级, 5)


class 技能13(主动技能):
    名称 = "末日风暴"
    所在等级 = 50
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40
    CD = 140
    MP = [900, 7559]
    无色消耗 = 5
    data0 = [0, 3235, 3986, 4733, 5482, 6235, 6985, 7734, 8483, 9235, 9983, 10734, 11483, 12233, 12988, 13733, 14484, 15235, 15982, 16732, 17486, 18234, 18981, 19731, 20483, 21235, 21982, 22732, 23483, 24234, 24985, 25733, 26483, 27233, 27982, 28731, 29485, 30232, 30982, 31733, 32481, 33234, 33982, 34732, 35483, 36234, 36982, 37732, 38483, 39235, 39983]
    hit0 = 1
    data1 = [0, 50363, 62039, 73714, 85399, 97077, 108752, 120431, 132107, 143789, 155466, 167143, 178820, 190500, 202180, 213856, 225535, 237214, 248891, 260568, 272247, 283924, 295604, 307280, 318959, 330638, 342314, 353998, 365673, 377352, 389027, 400708, 412385, 424064, 435740, 447421, 459099, 470776, 482452, 494132, 505813, 517488, 529169, 540845, 552526, 564205, 575882, 587559, 599237, 610917, 622594]
    hit1 = 1

    形态 = ["秒C", "满"]

    def 形态变更(self, 形态, char: Character):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "秒C":
            self.hit0 = 1
            self.hit1 = 1
        if 形态 == "满":
            self.hit0 = 13
            self.hit1 = 1

    def 等效百分比(self, **argv):
        if self.等级 > 8:
            self.power1 = 1.1
        return super().等效百分比(**argv)


class 技能14(主动技能):
    名称 = "空绞连锤"
    所在等级 = 60
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 30
    MP = [450, 1260]
    无色消耗 = 1
    data0 = [0, 2642, 2910, 3175, 3446, 3717, 3981, 4249, 4522, 4788, 5057, 5326, 5592, 5859, 6129, 6396, 6666, 6933, 7202, 7469, 7738, 8005, 8273, 8541, 8807, 9079, 9345, 9613, 9883, 10154, 10418, 10685, 10957, 11221, 11490, 11759, 12027, 12294, 12564, 12831, 13097, 13368, 13638, 13903, 14171, 14441, 14708, 14976, 15242, 15516, 15781]
    hit0 = 3
    data1 = [0, 31734, 34953, 38176, 41392, 44612, 47832, 51051, 54271, 57491, 60713, 63931, 67150, 70370, 73590, 76806, 80027, 83246, 86467, 89686, 92904, 96122, 99345, 102567, 105785, 109005, 112223, 115441, 118662, 121882, 125103, 128318, 131539, 134761, 137979, 141198, 144416, 147636, 150860, 154079, 157297, 160517, 163735, 166956, 170175, 173395, 176614, 179831, 183050, 186272, 189491]
    hit1 = 1
    data2 = [0, 11906, 13109, 14319, 15522, 16732, 17942, 19149, 20356, 21565, 22769, 23978, 25185, 26397, 27602, 28810, 30018, 31222, 32430, 33638, 34846, 36055, 37263, 38468, 39676, 40883, 42094, 43301, 44505, 45713, 46920, 48128, 49337, 50545, 51754, 52960, 54167, 55374, 56582, 57793, 58999, 60206, 61411, 62622, 63826, 65037, 66249, 67450, 68660, 69864, 71073]
    hit2 = 0
    data3 = [0, 19831, 21843, 23856, 25868, 27875, 29889, 31901, 33913, 35926, 37942, 39951, 41965, 43974, 45987, 48001, 50010, 52024, 54033, 56048, 58060, 60068, 62083, 64093, 66107, 68119, 70132, 72142, 74150, 76164, 78177, 80188, 82199, 84213, 86226, 88236, 90250, 92263, 94273, 96287, 98299, 100311, 102324, 104332, 106346, 108360, 110369, 112381, 114395, 116406, 118417]
    hit3 = 0
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1

    形态 = ["非抓", "抓取"]

    def 形态变更(self, 形态, char: Character):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "非抓":
            self.hit0 = 3
            self.hit1 = 1
            self.hit2 = 0
            self.hit3 = 0
        if 形态 == "抓取":
            self.hit0 = 3
            self.hit1 = 0
            self.hit2 = 1
            self.hit3 = 1

    def 装备护石(self, char):
        self.倍率 *= 1.21


class 技能15(主动技能):
    名称 = "死亡摇篮"
    所在等级 = 70
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 50
    MP = [840, 1764]
    无色消耗 = 2
    data0 = [0, 35167, 38739, 42304, 45869, 49441, 53005, 56573, 60144, 63711, 67281, 70846, 74414, 77983, 81549, 85115, 88687, 92253, 95821, 99389, 102956, 106526, 110093, 113662, 117229, 120794, 124363, 127931, 131499, 135068, 138635, 142202, 145770, 149337, 152906, 156475, 160041, 163609, 167176, 170744, 174312, 177882, 181449, 185017, 188585, 192151, 195718, 199287, 202856, 206423, 209991]
    hit0 = 1
    data1 = [0, 2887, 3185, 3479, 3768, 4064, 4358, 4648, 4946, 5237, 5527, 5824, 6117, 6410, 6703, 6996, 7289, 7584, 7877, 8165, 8464, 8757, 9048, 9344, 9636, 9930, 10225, 10518, 10809, 11101, 11396, 11689, 11982, 12275, 12571, 12863, 13156, 13449, 13742, 14035, 14329, 14624, 14915, 15208, 15502, 15795, 16088, 16380, 16675, 16968, 17262]
    hit1 = 0
    data2 = [0, 57719, 63571, 69430, 75284, 81139, 86993, 92852, 98706, 104561, 110415, 116276, 122129, 127983, 133838, 139697, 145552, 151405, 157259, 163119, 168974, 174827, 180681, 186540, 192395, 198250, 204103, 209964, 215819, 221674, 227529, 233385, 239238, 245094, 250949, 256808, 262661, 268517, 274372, 280229, 286082, 291936, 297792, 303653, 309506, 315363, 321217, 327073, 332927, 338781, 344638]
    hit2 = 0
    data3 = [0, 60609, 66760, 72908, 79057, 85205, 91353, 97498, 103651, 109800, 115948, 122100, 128244, 134394, 140543, 146690, 152842, 158988, 165141, 171288, 177437, 183586, 189732, 195885, 202033, 208179, 214330, 220476, 226629, 232775, 238925, 245074, 251220, 257370, 263519, 269670, 275818, 281966, 288115, 294262, 300414, 306563, 312713, 318859, 325006, 331158, 337309, 343455, 349603, 355753, 361901]
    hit3 = 0
    TP成长 = 0.1
    TP上限 = 5

    是否有护石 = 1

    # 摔技强化固定65%加成，别的技能已经直接加成在了面板上；仅裂石破天和死亡摇篮的非抓下需要额外65%加成
    power0 = 1.65

    形态 = ["应变", "抓取", "非抓"]

    def 形态变更(self, 形态, char: Character):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "应变":
            self.hit0 = 1
            self.hit1 = 0
            self.hit2 = 0
            self.hit3 = 0
        if 形态 == "抓取":
            self.hit0 = 0
            self.hit1 = 1
            self.hit2 = 1
            self.hit3 = 0
            if '死亡摇篮' in char.护石栏:
                形态 = "非抓"
        if 形态 == "非抓":
            self.hit0 = 0
            self.hit1 = 0
            self.hit2 = 0
            self.hit3 = 1

    def 装备护石(self, char):
        self.power0 *= 1.31
        self.power3 = 1.23


class 技能16(主动技能):
    名称 = "末日摇篮"
    所在等级 = 75
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 40
    MP = [580, 4500]
    无色消耗 = 3
    data0 = [0, 17204, 18948, 20693, 22440, 24188, 25931, 27677, 29422, 31167, 32912, 34658, 36402, 38149, 39897, 41639, 43385, 45132, 46874, 48621, 50368, 52116, 53857, 55601, 57351, 59092, 60840, 62586, 64330, 66075, 67822, 69567, 71310, 73058, 74803, 76548, 78293, 80039, 81785, 83527, 85277, 87020, 88767, 90512, 92256, 94003, 95747, 97494, 99238, 100984, 102728]
    hit0 = 1
    data1 = [0, 68820, 75797, 82779, 89765, 96743, 103723, 110708, 117689, 124668, 131648, 138635, 145616, 152593, 159579, 166563, 173539, 180527, 187505, 194486, 201473, 208449, 215431, 222410, 229398, 236377, 243357, 250343, 257323, 264301, 271287, 278266, 285248, 292236, 299216, 306192, 313171, 320159, 327141, 334119, 341106, 348087, 355062, 362049, 369029, 376009, 382995, 389976, 396957, 403933, 410920]
    hit1 = 1
    data2 = [0, 11801, 12997, 14191, 15387, 16585, 17782, 18978, 20174, 21372, 22573, 23769, 24965, 26163, 27358, 28553, 29750, 30949, 32148, 33344, 34540, 35736, 36935, 38130, 39325, 40523, 41720, 42919, 44117, 45311, 46510, 47706, 48902, 50099, 51296, 52497, 53691, 54888, 56085, 57282, 58477, 59674, 60870, 62072, 63268, 64464, 65659, 66857, 68053, 69249, 70445]
    hit2 = 0
    data3 = [0, 18104, 19940, 21773, 23611, 25448, 27282, 29120, 30958, 32792, 34629, 36466, 38303, 40139, 41977, 43809, 45645, 47485, 49321, 51158, 52993, 54831, 56669, 58501, 60339, 62177, 64014, 65849, 67685, 69523, 71357, 73191, 75035, 76867, 78706, 80539, 82377, 84215, 86050, 87888, 89723, 91559, 93396, 95232, 97073, 98904, 100742, 102583, 104416, 106251, 108086]
    hit3 = 0
    data4 = [0, 77137, 84962, 92787, 100612, 108441, 116266, 124089, 131916, 139742, 147569, 155396, 163219, 171044, 178870, 186697, 194520, 202348, 210174, 217998, 225828, 233652, 241476, 249302, 257130, 264952, 272777, 280603, 288430, 296257, 304083, 311904, 319731, 327558, 335385, 343211, 351036, 358860, 366686, 374513, 382340, 390164, 397988, 405813, 413642, 421467, 429293, 437119, 444944, 452767, 460593]
    hit4 = 0

    是否有护石 = 1

    形态 = ["应变", "抓取", "非抓"]

    def 形态变更(self, 形态, char: Character):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "应变":
            self.hit0 = 1
            self.hit1 = 1
            self.hit2 = 0
            self.hit3 = 0
            self.hit4 = 0
        if 形态 == "抓取":
            self.hit0 = 0
            self.hit1 = 0
            self.hit2 = 6
            self.hit3 = 1
            self.hit4 = 0
        if 形态 == "非抓":
            self.hit0 = 0
            self.hit1 = 0
            self.hit2 = 1
            self.hit3 = 0
            self.hit4 = 1

    def 装备护石(self, char):
        self.倍率 *= 1.3225
        self.CDR *= 0.9
    # 攻击力+15% ；生成总攻击力15%伤害的旋风（多段，15次攻击，每次1%）


class 技能17(被动技能):
    名称 = '极手奥义'
    所在等级 = 75
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40
    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.18 + 0.02 * self.等级, 5)


class 技能18(主动技能):
    名称 = "风暴之舞"
    所在等级 = 80
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 45
    MP = [800, 6000]
    无色消耗 = 5
    data0 = [0, 11810, 13010, 14204, 15406, 16601, 17799, 18997, 20199, 21397, 22593, 23793, 24985, 26189, 27382, 28580, 29777, 30977, 32176, 33372, 34569, 35768, 36968, 38163, 39362, 40564, 41757, 42960, 44155, 45355, 46551, 47751, 48948, 50147, 51346, 52540, 53742, 54937, 56133, 57331, 58533, 59728, 60927, 62127, 63320, 64522, 65717, 66918, 68118, 69313, 70512]
    hit0 = 6
    data1 = [0, 32824, 36148, 39483, 42810, 46139, 49466, 52803, 56131, 59460, 62791, 66117, 69449, 72778, 76107, 79433, 82768, 86095, 89424, 92758, 96085, 99416, 102744, 106076, 109401, 112732, 116062, 119393, 122720, 126052, 129384, 132714, 136043, 139371, 142700, 146029, 149359, 152686, 156017, 159347, 162676, 166006, 169342, 172667, 175999, 179328, 182659, 185985, 189311, 192646, 195977]
    hit1 = 1

    是否有护石 = 1

    def 装备护石(self, char):
        self.hit0 += 7
        self.power0 *= 0.56
        self.倍率 *= 1.19


class 技能19(主动技能):
    名称 = "苍宇彗星落"
    所在等级 = 85
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40
    CD = 180
    MP = [2500, 5000]
    无色消耗 = 10
    data0 = [0, 20579, 25351, 30124, 34899, 39672, 44444, 49216, 53986, 58757, 63533, 68305, 73074, 77845, 82622, 87395, 92168, 96939, 101712, 106482, 111257, 116027, 120799, 125571, 130346, 135118, 139890, 144662, 149436, 154205, 158979, 163752, 168523, 173295, 178068, 182840, 187614, 192385, 197159, 201929, 206703, 211474, 216245, 221018, 225791, 230564, 235337, 240109, 244882, 249651, 254425]
    hit0 = 1
    data1 = [0, 185267, 228223, 271181, 314145, 357104, 400067, 443022, 485983, 528945, 571903, 614869, 657825, 700786, 743745, 786705, 829667, 872626, 915584, 958547, 1001507, 1044468, 1087428, 1130387, 1173348, 1216310, 1259272, 1302229, 1345188, 1388150, 1431109, 1474068, 1517032, 1559989, 1602950, 1645908, 1688870, 1731832, 1774788, 1817752, 1860711, 1903669, 1946630, 1989592, 2032554, 2075511, 2118469, 2161433, 2204393, 2247352, 2290314]
    hit1 = 1
    data2 = [0, 28195, 34731, 41270, 47806, 54346, 60885, 67426, 73960, 80496, 87036, 93576, 100113, 106652, 113189, 119728, 126263, 132804, 139341, 145880, 152417, 158955, 165492, 172033, 178570, 185108, 191647, 198180, 204720, 211260, 217799, 224334, 230873, 237413, 243949, 250486, 257028, 263567, 270102, 276640, 283177, 289715, 296256, 302793, 309331, 315868, 322406, 328942, 335483, 342021, 348561]
    hit2 = 0
    data3 = [0, 173487, 213716, 253945, 294174, 334403, 374633, 414862, 455090, 495319, 535548, 575778, 616006, 656238, 696466, 736696, 776922, 817152, 857383, 897610, 937838, 978067, 1018298, 1058526, 1098757, 1138985, 1179216, 1219443, 1259672, 1299900, 1340130, 1380357, 1420589, 1460818, 1501045, 1541274, 1581505, 1621734, 1661961, 1702190, 1742420, 1782651, 1822878, 1863108, 1903338, 1943562, 1983794, 2024025, 2064252, 2104482, 2144712]
    hit3 = 0

    形态 = ["应变", "抓取"]

    def 形态变更(self, 形态, char: Character):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "应变":
            self.hit0 = 1
            self.hit1 = 1
            self.hit2 = 0
            self.hit3 = 0
        if 形态 == "抓取":
            self.hit0 = 0
            self.hit1 = 0
            self.hit2 = 1
            self.hit3 = 1


class 技能20(主动技能):
    名称 = "送葬舞步"
    所在等级 = 95
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 60
    MP = [960, 7200]
    无色消耗 = 7
    data0 = [0, 19038, 20966, 22899, 24831, 26761, 28694, 30626, 32556, 34487, 36418, 38349, 40281, 42212, 44143, 46074, 48005, 49937, 51869, 53800, 55730, 57663, 59594, 61525, 63457, 65387, 67319, 69249, 71180, 73111, 75041, 76974, 78906, 80837, 82769, 84698, 86631, 88563, 90494, 92425, 94357, 96288, 98221, 100150, 102083, 104013, 105944, 107876, 109805, 111739, 113669]
    hit0 = 1
    data1 = [0, 85661, 94355, 103046, 111734, 120427, 129116, 137807, 146499, 155188, 163879, 172572, 181261, 189952, 198645, 207333, 216024, 224716, 233405, 242095, 250786, 259479, 268171, 276859, 285550, 294239, 302931, 311622, 320311, 329003, 337696, 346386, 355076, 363767, 372456, 381147, 389836, 398528, 407220, 415910, 424601, 433292, 441982, 450671, 459362, 468054, 476746, 485437, 494126, 502817, 511509]
    hit1 = 1
    data2 = [0, 85661, 94355, 103046, 111734, 120427, 129116, 137807, 146499, 155188, 163879, 172572, 181261, 189952, 198645, 207333, 216024, 224716, 233405, 242095, 250786, 259479, 268171, 276859, 285550, 294239, 302931, 311622, 320311, 329003, 337696, 346386, 355076, 363767, 372456, 381147, 389836, 398528, 407220, 415910, 424601, 433292, 441982, 450671, 459362, 468054, 476746, 485437, 494126, 502817, 511509]
    hit2 = 1


class 技能21(被动技能):
    名称 = '光芒之翼'
    所在等级 = 95
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40

    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.18 + 0.02 * self.等级, 5)


class 技能22(主动技能):
    名称 = "女皇时代·辉煌舞台"
    所在等级 = 100
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40
    CD = 290
    MP = [4025, 8055]
    无色消耗 = 15
    data0 = [0, 59257, 72999, 86738, 100481, 114220, 127959, 141703, 155442, 169184, 182924, 196664, 210407, 224147, 237888, 251629, 265369, 279112, 292851, 306592, 320332, 334072, 347816, 361555, 375296, 389038, 402777, 416517, 430261, 444001, 457741, 471482, 485222, 498963, 512703, 526446, 540185, 553926, 567669, 581407, 595151, 608891, 622632, 636373, 650113, 663853, 677594, 691334, 705077, 718817, 732557]
    hit0 = 1
    data1 = [0, 118515, 145995, 173479, 200959, 228439, 255922, 283405, 310888, 338368, 365849, 393332, 420812, 448296, 475774, 503257, 530741, 558222, 585703, 613183, 640666, 668147, 695631, 723112, 750592, 778074, 805557, 833036, 860520, 888002, 915483, 942965, 970444, 997927, 1025409, 1052893, 1080373, 1107854, 1135336, 1162818, 1190300, 1217778, 1245263, 1272746, 1300227, 1327707, 1355188, 1382671, 1410153, 1437636, 1465117]
    hit1 = 1
    data2 = [0, 118515, 145995, 173479, 200959, 228439, 255922, 283405, 310888, 338368, 365849, 393332, 420812, 448296, 475774, 503257, 530741, 558222, 585703, 613183, 640666, 668147, 695631, 723112, 750592, 778074, 805557, 833036, 860520, 888002, 915483, 942965, 970444, 997927, 1025409, 1052893, 1080373, 1107854, 1135336, 1162818, 1190300, 1217778, 1245263, 1272746, 1300227, 1327707, 1355188, 1382671, 1410153, 1437636, 1465117]
    hit2 = 1
    data3 = [0, 118515, 145995, 173479, 200959, 228439, 255922, 283405, 310888, 338368, 365849, 393332, 420812, 448296, 475774, 503257, 530741, 558222, 585703, 613183, 640666, 668147, 695631, 723112, 750592, 778074, 805557, 833036, 860520, 888002, 915483, 942965, 970444, 997927, 1025409, 1052893, 1080373, 1107854, 1135336, 1162818, 1190300, 1217778, 1245263, 1272746, 1300227, 1327707, 1355188, 1382671, 1410153, 1437636, 1465117]
    hit3 = 1
    data4 = [0, 29629, 36499, 43370, 50240, 57110, 63980, 70850, 77721, 84593, 91462, 98332, 105201, 112074, 118944, 125814, 132684, 139554, 146424, 153297, 160168, 167037, 173907, 180778, 187647, 194520, 201390, 208259, 215130, 221999, 228871, 235742, 242611, 249482, 256352, 263222, 270092, 276963, 283832, 290704, 297576, 304445, 311315, 318188, 325056, 331926, 338798, 345666, 352537, 359408, 366278]
    hit4 = 6


class classChange(Character):
    def __init__(self, equVersion=""):
        self.实际名称 = 'grappler_female'
        self.名称 = '归元·柔道家'
        self.角色 = '格斗家(女)'
        self.职业 = '柔道家'
        # 用来筛CP武器的
        self.转职 = '柔道家(女)'
        self.武器选项 = ['手套', '臂铠', '东方棍', '爪']
        self.输出类型选项 = ['物理固伤']
        self.防具精通属性 = ['力量']
        self.类型 = '物理固伤'
        self.武器类型 = '臂铠'
        self.防具类型 = '轻甲'
        技能列表 = []
        技能序号 = {}
        i = 0
        while i >= 0:
            try:
                tem = eval('技能'+str(i)+'()')
                tem.基础等级计算()
                技能序号[tem.名称] = i
                技能列表.append(tem)
                i += 1
            except:
                i = -1
        self.技能栏 = 技能列表
        self.技能序号 = 技能序号
        self.buff = 2.07

        super().__init__(equVersion)
